public class ConversionTest{
	public static void main(String[] args){
		double d = 13.4;
		long l = (long)d;
		System.out.println(l);
		int in = 5;
		//试图把一个数值类型的变量转换为boolean类型,下面代码编译错误
		//编译时会提示:不可转换的类型.
		// boolean b = (boolean)in;
		Object obj = "Hello";
		//obj变量的编译时类型为Object,Object与String存在继承关系,可以强制类型转换
		//而且obj变量的实际类型是String,所以运行时也通过
		String objStr = (String)obj;
		System.out.println(objStr);
		//定义一个objPri变量,编译时类型为Object,实际类型为Integer
		Object objPri = new Integer(5);
		//objPri变量的编译时类型为Object,objPri的运行时类型为Integer
		//Object与Integer存在继承关系
		//可以强制类型转换,而objPri变量的实际类型是Integer
		//所以下面代码运行时引发ClassCastException异常
		//Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
		if (objPri instanceof String){//这个判断前面的对象是否是后面的类,或者子类,实现类的实例
			String str = (String)objPri;
		}
		
	}
}